
# Loading additional proc with user specified bodies to compute parameter values.
source [file join [file dirname [file dirname [info script]]] gui/axis_data_merger_v1_0.gtcl]

# Definitional proc to organize widgets for parameters.
proc init_gui { IPINST } {
  ipgui::add_param $IPINST -name "Component_Name"
  #Adding Page
  set Page_0 [ipgui::add_page $IPINST -name "Page 0"]
  ipgui::add_param $IPINST -name "SLAVE_AXIS_NUM" -parent ${Page_0} -widget comboBox
  ipgui::add_param $IPINST -name "ADD_DATA_FLAG" -parent ${Page_0}
  ipgui::add_param $IPINST -name "USE_TUSER" -parent ${Page_0}
  ipgui::add_param $IPINST -name "ALL_DATA_WIDTH" -parent ${Page_0} -widget comboBox
  ipgui::add_param $IPINST -name "AUTO_RESET_FIFO" -parent ${Page_0}


}

proc update_PARAM_VALUE.USE_TUSER { PARAM_VALUE.USE_TUSER PARAM_VALUE.ADD_DATA_FLAG } {
	# Procedure called to update USE_TUSER when any of the dependent parameters in the arguments change
	
	set USE_TUSER ${PARAM_VALUE.USE_TUSER}
	set ADD_DATA_FLAG ${PARAM_VALUE.ADD_DATA_FLAG}
	set values(ADD_DATA_FLAG) [get_property value $ADD_DATA_FLAG]
	if { [gen_USERPARAMETER_USE_TUSER_ENABLEMENT $values(ADD_DATA_FLAG)] } {
		set_property enabled true $USE_TUSER
	} else {
		set_property enabled false $USE_TUSER
	}
}

proc validate_PARAM_VALUE.USE_TUSER { PARAM_VALUE.USE_TUSER } {
	# Procedure called to validate USE_TUSER
	return true
}

proc update_PARAM_VALUE.ADD_DATA_FLAG { PARAM_VALUE.ADD_DATA_FLAG } {
	# Procedure called to update ADD_DATA_FLAG when any of the dependent parameters in the arguments change
}

proc validate_PARAM_VALUE.ADD_DATA_FLAG { PARAM_VALUE.ADD_DATA_FLAG } {
	# Procedure called to validate ADD_DATA_FLAG
	return true
}

proc update_PARAM_VALUE.ALL_DATA_WIDTH { PARAM_VALUE.ALL_DATA_WIDTH } {
	# Procedure called to update ALL_DATA_WIDTH when any of the dependent parameters in the arguments change
}

proc validate_PARAM_VALUE.ALL_DATA_WIDTH { PARAM_VALUE.ALL_DATA_WIDTH } {
	# Procedure called to validate ALL_DATA_WIDTH
	return true
}

proc update_PARAM_VALUE.AUTO_RESET_FIFO { PARAM_VALUE.AUTO_RESET_FIFO } {
	# Procedure called to update AUTO_RESET_FIFO when any of the dependent parameters in the arguments change
}

proc validate_PARAM_VALUE.AUTO_RESET_FIFO { PARAM_VALUE.AUTO_RESET_FIFO } {
	# Procedure called to validate AUTO_RESET_FIFO
	return true
}

proc update_PARAM_VALUE.SLAVE_AXIS_NUM { PARAM_VALUE.SLAVE_AXIS_NUM } {
	# Procedure called to update SLAVE_AXIS_NUM when any of the dependent parameters in the arguments change
}

proc validate_PARAM_VALUE.SLAVE_AXIS_NUM { PARAM_VALUE.SLAVE_AXIS_NUM } {
	# Procedure called to validate SLAVE_AXIS_NUM
	return true
}


proc update_MODELPARAM_VALUE.SLAVE_AXIS_NUM { MODELPARAM_VALUE.SLAVE_AXIS_NUM PARAM_VALUE.SLAVE_AXIS_NUM } {
	# Procedure called to set VHDL generic/Verilog parameter value(s) based on TCL parameter value
	set_property value [get_property value ${PARAM_VALUE.SLAVE_AXIS_NUM}] ${MODELPARAM_VALUE.SLAVE_AXIS_NUM}
}

proc update_MODELPARAM_VALUE.AUTO_RESET_FIFO { MODELPARAM_VALUE.AUTO_RESET_FIFO PARAM_VALUE.AUTO_RESET_FIFO } {
	# Procedure called to set VHDL generic/Verilog parameter value(s) based on TCL parameter value
	set_property value [get_property value ${PARAM_VALUE.AUTO_RESET_FIFO}] ${MODELPARAM_VALUE.AUTO_RESET_FIFO}
}

proc update_MODELPARAM_VALUE.ALL_DATA_WIDTH { MODELPARAM_VALUE.ALL_DATA_WIDTH PARAM_VALUE.ALL_DATA_WIDTH } {
	# Procedure called to set VHDL generic/Verilog parameter value(s) based on TCL parameter value
	set_property value [get_property value ${PARAM_VALUE.ALL_DATA_WIDTH}] ${MODELPARAM_VALUE.ALL_DATA_WIDTH}
}

proc update_MODELPARAM_VALUE.ADD_DATA_FLAG { MODELPARAM_VALUE.ADD_DATA_FLAG PARAM_VALUE.ADD_DATA_FLAG } {
	# Procedure called to set VHDL generic/Verilog parameter value(s) based on TCL parameter value
	set_property value [get_property value ${PARAM_VALUE.ADD_DATA_FLAG}] ${MODELPARAM_VALUE.ADD_DATA_FLAG}
}

proc update_MODELPARAM_VALUE.USE_TUSER { MODELPARAM_VALUE.USE_TUSER PARAM_VALUE.USE_TUSER } {
	# Procedure called to set VHDL generic/Verilog parameter value(s) based on TCL parameter value
	set_property value [get_property value ${PARAM_VALUE.USE_TUSER}] ${MODELPARAM_VALUE.USE_TUSER}
}

